package com.vader.flea.service;

import com.vader.flea.dto.ImgHolder;
import com.vader.flea.dto.ProductExecution;
import com.vader.flea.entity.Product;
import com.vader.flea.entity.ProductImg;
import com.vader.flea.exceptions.ProductOperationException;

import java.io.InputStream;
import java.util.List;

public interface ProductService {
    ProductExecution addProduct(Product product, ImgHolder thumbnail,
                                List<ImgHolder> productImgList) throws ProductOperationException;

    void deleteProductImgList(Long productId);

    Product getProductById(Long productId);

    ProductExecution modifyProduct(Product product, ImgHolder thumbnail,List<ImgHolder> productImgHolderList)
        throws ProductOperationException;

    ProductExecution getProductList(Product productCondition, int pageIndex, int pageSize);

    int queryProductCount(Product productCondition);
}
